Retail stores by definition are in the business of selling inventory to individual customers, typically in a large number of small transactions. The point at which these transactions take place is known as the point of sale (sometimes referred to as the "POS"). Traditionally, retail stores have used cash registers or other calculating apparatus to compute the total cost of a customer's purchase and to provide some means of tracking total cash receipts.
In many retail environments, the point of purchase also serves as a point of order entry. For example, at a restaurant, most typically a quick service restaurant, a customer may order and pay for food at the same physical location, in which case the order may be entered into a cash register or similar device, which would then compute and record the customer's total purchase price.
At the time an order is entered, it is helpful to record not only the price of the ordered item (for totaling purposes), but also the description and quantity of the item. This additional information is useful for accounting and inventory purposes, and to conveniently provide store personnel with sufficient data to fill the order.
To this end, computer-based cash registers (often referred to as "point-of-sale registers", or "POS registers") have been developed which contain buttons or keys representing each of the various items offered for sale. In this manner, the operator, upon hearing a customer order a specific item, need only push the button or key corresponding to that item, thereby recording not only the price for totaling purposes, but also which specific item has been ordered.
The primary difficulty with such POS systems is that as the number of items offered for sale increases, so must the number of buttons or keys. This in turn increases the cost and complexity of the system. Further, when the store changes its offerings, which can frequently occur, it must make corresponding changes to each of its POS register keyboards.
Such systems also pose security risks to the extent that data and computer programs used to operate the system are readily accessible to store personnel operating the POS registers. Such systems also often require specialized equipment which is not only expensive but also difficult to expand or reconfigure. Such systems also have very limited ability to review and edit transactions which have occurred in the past.